package xcmg.device.service.vo.logistic;

import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @Des 创建物流运单，勾选发运交接单/三包出库单后，查询出已选择的这些单据的展示信息实体
 * @Date 2021/5/7 16:56
 * @Author wangzhaoyu
 * @Param
 * @Return
 */
public class BusinessOrderSelectedInfoVO {
    //表头信息
    private HeadInfo headInfo;

    //零件详情
    private List<Materials> materialses;

    public BusinessOrderSelectedInfoVO(){
        this.materialses = new ArrayList<>();
    }

    public HeadInfo getHeadInfo() {
        return headInfo;
    }

    public void setHeadInfo(HeadInfo headInfo) {
        this.headInfo = headInfo;
    }

    public List<Materials> getMaterialses() {
        return materialses;
    }

    public void setMaterialses(List<Materials> materialses) {
        this.materialses = materialses;
    }

    public static class HeadInfo{
        //客户编码
        private String dealerOrgId;
        //客户名称
        private String dealerOrgName;
        //发运方式
        private String shippingMethod;
        //发运方式id
        private String shippingMethodId;
        //承运商id
        private String carrierOrgId;
        //承运商
        private String carrierOrgName;
        //收货人
        private String receiverName;
        //联系方式
        private String receiverTel;
        //收货地址
        private String receiverAddress;
        //交货日期
        private Date deliveryTime;


        public String getDealerOrgId() {
            return dealerOrgId;
        }

        public void setDealerOrgId(String dealerOrgId) {
            this.dealerOrgId = dealerOrgId;
        }

        public String getDealerOrgName() {
            return dealerOrgName;
        }

        public void setDealerOrgName(String dealerOrgName) {
            this.dealerOrgName = dealerOrgName;
        }

        public String getShippingMethod() {
            return shippingMethod;
        }

        public void setShippingMethod(String shippingMethod) {
            this.shippingMethod = shippingMethod;
        }

        public String getShippingMethodId() {
            return shippingMethodId;
        }

        public void setShippingMethodId(String shippingMethodId) {
            this.shippingMethodId = shippingMethodId;
        }

        public String getCarrierOrgId() {
            return carrierOrgId;
        }

        public void setCarrierOrgId(String carrierOrgId) {
            this.carrierOrgId = carrierOrgId;
        }

        public String getCarrierOrgName() {
            return carrierOrgName;
        }

        public void setCarrierOrgName(String carrierOrgName) {
            this.carrierOrgName = carrierOrgName;
        }

        public String getReceiverName() {
            return receiverName;
        }

        public void setReceiverName(String receiverName) {
            this.receiverName = receiverName;
        }

        public String getReceiverTel() {
            return receiverTel;
        }

        public void setReceiverTel(String receiverTel) {
            this.receiverTel = receiverTel;
        }

        public String getReceiverAddress() {
            return receiverAddress;
        }

        public void setReceiverAddress(String receiverAddress) {
            this.receiverAddress = receiverAddress;
        }

        public Date getDeliveryTime() {
            return deliveryTime;
        }

        public void setDeliveryTime(Date deliveryTime) {
            this.deliveryTime = deliveryTime;
        }
    }

    @NoArgsConstructor
    public static class Materials{
        //业务单据号，目前存发运交接单号或三包出库单号
        private String businessOrderNo;

        private String materialsNo;

        private String materialsDesc;
        //物流发运数量
        private BigDecimal amount;
        //单位
        private String unit;

        public String getBusinessOrderNo() {
            return businessOrderNo;
        }

        public void setBusinessOrderNo(String businessOrderNo) {
            this.businessOrderNo = businessOrderNo;
        }

        public String getMaterialsNo() {
            return materialsNo;
        }

        public void setMaterialsNo(String materialsNo) {
            this.materialsNo = materialsNo;
        }

        public String getMaterialsDesc() {
            return materialsDesc;
        }

        public void setMaterialsDesc(String materialsDesc) {
            this.materialsDesc = materialsDesc;
        }

        public BigDecimal getAmount() {
            return amount;
        }

        public void setAmount(BigDecimal amount) {
            this.amount = amount;
        }

        public String getUnit() {
            return unit;
        }

        public void setUnit(String unit) {
            this.unit = unit;
        }
    }
}
